let utils = {
    // 判断是否为 【空对象】
    isEmptyObject: function (target) {
        for (const key in target) {
            if (target.hasOwnProperty(key)) {
                return false;
            }
        }
        return true;
    },

    // 判断是否为整数
    isInteger: function (target) {
        return /^-?\d+$/g.test(target);
    },

    // 判断是否为回文
    isHuiWen (str) {
        return str.split("").reverse().join("")==str;
    },

    // 判断是否为 某个类型 以string为例
    isString (str) {
        return toString.call(str) === '[object String]' ? true : false;
    },
    
    // 去除字符串的空格
    trim (str,position) { // position 参数 -> 去掉的是 left，right，还是所有的空格
        let reg;
        if (position === 'left') {
            reg = /^\s*/;
        } else if (position === 'right') {
            reg = /\s*$/;
        } else if (position === 'lr') {
            reg = /^\s*|\s*$/g;
        } else if (position === 'all') {
            reg = /\s*/g;
        } 
        return str.replace(reg,"");
    },

    // 获取浏览器URL中查询字符串中的参数 例如 http://www.baidu.com?name=wangshuo&age=27&gender=male&job=coder
    getParams (url) {
        let index = url.indexOf('?');
        let str = url.substr(index+1);
        let ary = str.split('&');
        let arr = ary.map(ele=>{
            return ele.split('=');
        });
        let obj = {};
        arr.forEach(element => {
            obj[element[0]] = element[1];
        });
        return obj;
    },

    // 时间戳转变成日期格式
    formatDate (value) {
        if (typeof value !== 'number') {
            value = Number(value);
        }
        let date = new Date(value);
        let y = date.getFullYear();
        let MM = date.getMonth() + 1;
        MM = MM < 10 ? ('0' + MM) : MM;
        let d = date.getDate();
        d = d < 10 ? ('0' + d) : d;
        let h = date.getHours();
        h = h < 10 ? ('0' + h) : h;
        let m = date.getMinutes();
        m = m < 10 ? ('0' + m) : m;
        let s = date.getSeconds();
        s = s < 10 ? ('0' + s) : s;
        return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
    },

    // 数字变成美元 每三位一分割   3000.00 -> 3,000.00
    
    numberFormat (value) {

        if(!value) return '0.00';
        /*原来用的是Number(value).toFixed(0)，这样取整时有问题，例如0.51取整之后为1，感谢Nils指正*/
        var intPart =  Number(value)|0; //获取整数部分
        var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //将整数部分逢三一断

        var floatPart = ".00"; //预定义小数部分
        var value2Array = value.toString().split(".");

        //=2表示数据有小数位
        if(value2Array.length == 2) {
            floatPart = value2Array[1].toString(); //拿到小数部分

            if(floatPart.length == 1) { //补0,实际上用不着
                return intPartFormat + "." + floatPart + '0';
            } else {
                return intPartFormat + "." + floatPart;
            }

        } else {
            return intPartFormat + floatPart;
        }
    },

    // 小数变成小数   0.03 -> 3%
    toPercent (value) {
        return Number(value*100).toFixed(2) + '%';
    }

    
};






